% *******************************************
% SECTION
% *******************************************
\section{任务5：第4关} 

在此任务中的服务器与第3关中服务器相似，不同之处在于缓冲区大小要小得多。从以下输出中，
可以看到帧指针和缓冲区地址之间的距离比第3级要小得多。你的目标仍然是一样的：获取此服务器上的root shell。服务器仍会从用户那里接收517字节的数据输入。

\ifdefined\arm
% ARM64
\begin{lstlisting}
server-4-10.9.0.8  | Got a connection from 10.9.0.1
server-4-10.9.0.8  | Starting stack
server-4-10.9.0.8  | Input size: 6
server-4-10.9.0.8  | Frame pointer (x29) inside foo():  0x0000fffffffff120
server-4-10.9.0.8  | Frame pointer (x29) inside bof():  0x0000fffffffff0e0
server-4-10.9.0.8  | Buffer's address inside bof():     0x0000fffffffff100
server-4-10.9.0.8  | ==== Returned Properly ====
\end{lstlisting}

\else
% AMD64
\begin{lstlisting}
server-4-10.9.0.8 | Got a connection from 10.9.0.1
server-4-10.9.0.8 | Starting stack
server-4-10.9.0.8 | Input size: 6
server-4-10.9.0.8 | Frame Pointer (rbp) inside bof():  0x00007fffffffe1b0
server-4-10.9.0.8 | Buffer's address inside bof():     0x00007fffffffe190
server-4-10.9.0.8 | ==== Returned Properly ====
\end{lstlisting}
\fi